package algo3c3g3.view;

import algo3c3g3.model.material.*;
import algo3c3g3.model.action.*;
import algo3c3g3.model.*;

/**
 * Contiene las rutas de los archivos de imagen que el programa usa.
 */
public class ImagePaths
{
    public static final int
        ENTRANCE = 1,
        EXIT = 2;
    
    /**
     * Devuelve la ruta del archivo de images correspondiente al material indicado.
     */
    public static String getMaterialImage(Material material)
    {
        String dir = "images/material/";
        
        if(material.toString().equals(Material.GROUND))
            return dir + "tierra.gif";
        
        if(material.toString().equals(Material.ROCK))
            return dir + "roca.gif";
        
        if(material.toString().equals(Material.FIRE))
            return dir + "fuego.gif";
        
        if(material.toString().equals(Material.BLACK_HOLE))
            return dir + "agujeronegro.gif";
        
        if(material.toString().equals(Material.ICE))
            return dir + "hielo.gif";
        
        if(material.toString().equals(Material.BRIDGE))
            return dir + "tierra.gif";
        
        // Air, InvisibleBlock
        return null;
    }
    
    
    /**
     * Devuelve la ruta del archivo de images correspondiente a la accion
     * de la unidad indicada.
     */
    public static String getActionImage(Unit unit)
    {
        String dir = "images/action/";
        
        if(unit.getAction().getClass() == Basher.class)
        {
            if(unit.getDirection() == 1)
                return dir + "laser.gif";
            else
                return dir + "laser2.gif";
        }
        
        if(unit.getAction().getClass() == Digger.class)
        {
            if(unit.getDirection() == 1)
                return dir + "taladro.gif";
            else
                return dir + "taladro2.gif";
        }
        
        if(unit.getAction().getClass() == Blocker.class)
        {
            if(unit.getDirection() == 1)
                return dir + "congelado.gif";
            else
                return dir + "congelado2.gif";
        }
        
        if(unit.getAction().getClass() == Floater.class)
        {
            if(unit.getDirection() == 1)
                return dir + "platillo.gif";
            else
                return dir + "platillo2.gif";
        }
        
        // Walker, Faller, Builder, Teleporter
        if(unit.getDirection() == 1)
            return dir + "normal.gif";
        else
            return dir + "normal2.gif";
    }
    
    
    /**
     * Devuelve la ruta del archivo de images correspondiente a una puerta de entrada
     * o salida del mapa.
     */
    public static String getDoorImage(int type)
    {
        String dir = "images/door/";
        
        if(type == 1)
            return dir + "entrance.gif";
        
        if(type == 2)
            return dir + "exit.gif";
        
        return null;
    }
}
